#include "my_database.h"

//连接数据库
my_database::my_database(QString database_name)
{
    //判断数据库是否已经连接上了
    if (QSqlDatabase::contains("qt_sql_default_connection")==true)
    {
        //直接返回数据库对象,qt_sql_default_connection代表当前数据库连接
        database = QSqlDatabase::database("qt_sql_default_connection");
    }
    else
    {
        // 建立和SQlite数据库的连接
        database = QSqlDatabase::addDatabase("QSQLITE");
        // 设置数据库文件的名字
        database.setDatabaseName(database_name);
    }
    qDebug()<<"数据库连接成功!";
    if (false == database.open())
    {
        qDebug() << "Error: Failed to connect database." << database.lastError();
    }
    qDebug() <<"数据库打开成功!";

}

//初始化数据库
QSqlDatabase my_database::init_databa(QString s)
{
    //判断数据库是否已经连接上了
    if (QSqlDatabase::contains("qt_sql_default_connection")==true)
    {
        //直接返回数据库对象,qt_sql_default_connection代表当前数据库连接
        database = QSqlDatabase::database("qt_sql_default_connection");
    }
    else
    {
        // 建立和SQlite数据库的连接
        database = QSqlDatabase::addDatabase("QSQLITE");
        // 设置数据库文件的名字
        database.setDatabaseName(s);
    }
    qDebug()<<"数据库连接成功!";
    if (false == database.open())
    {
        qDebug() << "Error: Failed to connect database." << database.lastError();
    }
    qDebug() <<"数据库打开成功!";
    return database;
}

//执行SQL语句
void my_database::excutSql(QSqlQuery &sqlQuery,QString sql)
{
    if(!sqlQuery.exec(sql))
    {
        qDebug()<<sqlQuery.lastError();
    }
    else
    {
        qDebug()<<"OK";
    }
}


my_database::my_database()
{

}

//关闭数据库
my_database::~my_database()
{
    database.close();
}
